.TH E1432_SEND_TACHS 3 E1432
.SH NAME
e1432_send_tachs \- Send raw tach times from master to slave modules
.IX e1432_send_tachs(3) 3
.SH SYNOPSIS
.cS
SHORTSIZ16 e1432_send_tachs(E1432ID hw, SHORTSIZ16 groupID, SHORTSIZ16 tachID,
                            unsigned long *buffer, int size, LONGSIZ32 *count) 
.cE
.SH DESCRIPTION
\fIe1432_send_tachs\fR gets the available new raw tachometer times
from the master module and passes them on to all the slave modules in
the order tracking mode in a multi-module system.  Optionally, it can
also return the values of these raw tach times into a user buffer.
This function is used to allow the module with the tach board to be
the master module, providing raw tach times to all other modules in
the system.  These tach times are necessary for calculating resampled
time data on slave modules.

\fIhw\fR must be the result of a successful call to
\fIe1432_assign_channel_numbers\fR, and specifies the group of
hardware to talk to.

\fIgroupID\fR is the ID of a group of modules that was obtained with a
call to \fIe1432_create_channel_group\fR.

\fItachID\fR is the ID of a \fBsingle\fR tach channel.

\fIbuffer\fR is a pointer to a buffer that will recieve the raw tach
times.  If this is \fBNULL\fR, no tach times will be returned, but
they will be transmitted to the slave module(s).  If this pointer is
not NULL, the \fIsize\fR passes the size of \fIbuffer\fR.

\fIsize\fR is the size of \fIbuffer\fR.  Ignored if \fIbuffer\fR is \fBNULL\fR.

\fIcount\fR is a pointer the location into which the number of raw
tach times transferred is placed.

The master module with the tach board in the group must have been
enabled by a call to \fIe1432_set_trigger_master\fR.  This call puts
all other modules in the group into slave mode.  Each time
\fIe1432_send_tachs\fR is called, all raw tach times collected by the
master module since the last call to the function are sent to the
slave module(s) in a system.  This function can be called at any time,
but should be called relatively frequently, since it serves to "sync"
all of the modules in a group doing resampling.

\fBNOTE:  Once this function is called the first time either it or the function
\fIe1432_get_raw_tachs\fB must be called 
regularly to read tach values out of the module. If tach times are not read
out often enough, a tach buffer overflow
will happen, which will overwrite the internal tach buffer and cause
\fIe1432_block_available\fB to return ERR1432_TACH_BUFFER_OVERFLOW\fR.

.SH "RESET VALUE"
Not applicable.
.SH "RETURN VALUE"
Returns 0 if successful, a (negative) error number otherwise.  The
error, \fBERR1432_NO_GROUP\fR, will be returned if \fIgroupID\fR is
not a group ID.  \fBERR1432_NO_CHANNEL\fR will be returned if a
trigger master has not been set for the group, \fIgroupID\fR and when
the \fItachID\fR is not a valid tach channel.
.SH "SEE ALSO"
.na
e1432_set_trigger_master, e1432_set_data_mode, e1432_get_raw_tachs
.ad
